Verification of Liveness Properties in Transactional Memories

نویسنده

  • Victor Bushkov
چکیده

Transactional memory (TM) is a concurrency control mechanism that avoids common problems associated with conventional locking techniques. The correctness of concurrent programs employing a TM implementation depends on the correctness of the TM implementation. Therefore, it is important to ensure that the implementation satisfies correctness properties such as safety and liveness properties. Safety properties can be ensured by simply aborting operations. Therefore, besides safety properties it is necessary to ensure liveness properties that guarantee progress of threads. Verifying liveness properties of TMs is a difficult task due to the unbounded number of variables and threads. However, if a TM implementation satisfies certain symmetry properties, it is possible to reduce the model checking problem of the implementation to a finite state problem.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Permissiveness in Transactional Memories

We introduce the notion of permissiveness in transactional memories (TM). Intuitively, a TM is permissive if it never aborts a transaction when it need not. More specifically, a TM is permissive with respect to a safety property p if the TM accepts every history that satisfies p. Permissiveness, like safety and liveness, can be used as a metric to compare TMs. We illustrate that it is impractic...

متن کامل

Formalizing and Verifying Transactional Memories

Transactional memory (TM) has shown potential to simplify the task of writing concurrent programs. TM shifts the burden of managing concurrency from the programmer to the TM algorithm. The correctness of TM algorithms is generally proved manually. The goal of this thesis is to provide the mathematical and software tools to automatically verify TM algorithms under realistic memory models. Our fi...

متن کامل

Mechanical Verification of Transactional Memories with Non-transactional Memory Accesses

Transactional memory is a programming abstraction intended to simplify the synchronization of conflicting memory accesses (by concurrent threads) without the difficulties associated with locks. In a previous work we presented a formal framework for proving that a transactional memory implementation satisfies its specifications and provided with model checking verification of some using small in...

متن کامل

Processes with local and global liveness requirements

The deterministic QS model, introduced in [CS95], captures (local) liveness properties, commonly specified in Temporal Logic, and not fully captured by nondeterministic process models. Liveness explains how some processes engage spontaneously in some actions and wait passively for the triggering of other actions by other processes. In this paper, we extend the QS model to describe liveness prop...

متن کامل

Under consideration for publication in Formal Aspects of Computing Processes with Local and Global Liveness Requirements

The deterministic QS model, introduced in [CS95], captures (local) liveness properties, commonly specified in Temporal Logic, and not fully captured by non-deterministic process models. Liveness explains how some processes engage spontaneously in some actions and wait passively for the triggering of other actions by other processes. In this paper, we extend the QS model to describe liveness pro...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011